//抽象产品基类
abstract class Product{
    private _price: number = 0;

    constructor(){
     
    }
    public get price(): number {
        return this._price;
    }
    public set price(value: number) {
        this._price = value;
    }
  
}

//抽象产品类
abstract class AbstractProductA extends Product { 
    private _name: string = "";
    public get name(): string {
        return this._name;
    }
    public set name(value: string) {
        this._name = value;
    }
 }


abstract class AbstractProductB extends Product {
    private _name: string = "";
    public get name(): string {
        return this._name;
    }
    public set name(value: string) {
        this._name = value;
    }
 }

 export{
    Product,
    AbstractProductA,
    AbstractProductB,
 }